$(function () {
    //一选择文件就实现文件的上传
    $('#feature').on('change', function () {
        //组合:formdata + ajax
        //使用formdata收集图片数据
        //使用ajax发起异步请求
        //1.获取文件对象
        let myfile = document.querySelector('#feature').files[0];
        //2.创建formdata对象
        let formdata = new FormData();
        //3.在formdata中追加数据
        formdata.append('img', myfile);
        formdata.append('username', "jacky");
        //4.使用ajax发送请求
        $.ajax({
            type: 'post',
            url: '/uploadFile',
            data: formdata,
            contentType: false, //此处让ajax不要进行数据的编码处理,需要让formdata处理
            processData: false, //不让ajax进行数据处理,因为formdata已处理
            dataType: 'json',
            success: function (res) {
                if (res.code === 200) {
                    //实现预览:为img标签设置src属性,让浏览器进行解析,发起二次请求
                    $('.thumbnail').attr('src', '/uploads/' + res.img).show();
                    //将图片名称存储到指定隐藏域中
                    $('[name="feature"]').val(res.img)
                } else {
                    $('.alert-danger>span').text(res.msg).fadeIn(500).delay(3000).fadeOut(500)
                }
            }
        })
    })
    //动态加载分类数据
    $.ajax({
        type: 'get',
        url: '/getAllCate',
        dataType: 'json',
        success: function (res) {
            //生成分类下拉列表动态结构
            let str = '<option value="all">所有分类</option>';
            for (let i = 0; i < res.data.length; i++) {
                str += `<option value="${res.data[i].id}">${res.data[i].name}</option>`
            }
            $('#category').html(str);
        }
    })
    //创建ckeditor富文本框控件替换页面中的textarea
    //会创建一个富文本框对象
    CKEDITOR.replace('content');

    //获取参数id
    let id=itcast.getParameter(location.search).id;
    //保存文件
    $('.btnsave').on('click', function () {
        //同步数据到textarea
        CKEDITOR.instances.content.updateElement();
        //serialize可获取当前指定表单中所有拥有name属性的表单元素的value值
        // console.log($('form').serialize());
        if(id){
            opt('/editPostById')
        }else{
            opt('/addPost')
        }
    })

    //实现编辑和新增
    function opt(url){
        $.ajax({
            type: 'post',
            url: url,
            data: $('form').serialize(),
            dataType: 'json',
            success: function (res) {
                if (res.code === 200) {
                    //提示
                    //跳转
                    location.href = '/admin/posts'
                } else {
                    console.log(res.msg)
                }
            }
        })
    }

    //判断当前是编辑还是新增
    if(id){//说明是编辑
        //根据id发起ajax请求
        $.ajax({
            type:'get',
            url:'/getPostById',
            data:{id},
            dataType:'json',
            success:function(res){
                //实现数据默认展示
                $('#title').val(res.data.title);
                $('#content').val(res.data.content);
                $('#slug').val(res.data.slug);
                $('.thumbnail').attr('src','/uploads/'+res.data.feature).show();
                $('#category').val(res.data.category_id);
                $('#status').val(res.data.status);
                //图片隐藏域
                $('[name=feature]').val(res.data.feature);
                //id隐藏域
                $('[name="id"]').val(res.data.id);
                //时间处理
                $('#created').val(res.data.created);
            }
        })
    }
})